13
Marcos: relaciones
Permiten conectar los marcos entre sí.
Se define su semántica mediante un conjunto de propiedades:
dominio
rango
cardinalidad
inversa
transitividad
composición
Se pueden establecer métodos que tienen efecto ante ciertos eventos:
if-added: si se establece la relación entre instancias
if-removed: si se elimina la relación entre instancias
Se puede establecer el comportamiento de la relación respecto al mecanismo de herencia (que atributos permite heredar).
13
14
Marcos: relaciones
Etiqueta
nombre:
dominio: lista de marcos
rango: lista de marcos
cardinalidad: 1 o N
inversa: < nombre> (cardinalidad: 1 o N)
transitiva: sí/no (por defecto es no)
compuesta: no / descripción de la composición
métodos: {if-added / if-removed} < nombre.acción>
condiciones de herencia: lista de atributos (por defecto: lista vacía)
Las acciones asociadas a los métodos no tienen parámetros.
La expresión < nombre marco>.< nombre relación> devuelve el marco (si la cardinalidad es 1) o la lista de marcos (si es N) con los que está conectado < nombre marco> a través de < nombre relación>.
14
15
Marcos: relaciones
Para consultar la cardinalidad se usa la función card(< nombre marco>.< nombre relación>) que devuelve un entero.
Relaciones predefinidas:
enlace ES-UN (inversa: tiene-por-subclase)
transitiva
enlace INSTANCIA-DE (inversa: tiene-por-instancia)
se puede obtener por composición: INSTANCIA-DE ? ES-UN
Funciones bulianas que quedan definidas:
atributo?(< marco>): cierto si < marco> posee este atributo.
relación?(< marco>): cierto si < marco> está conectado con algún otro marco a través de la relación indicada por la función.
relación?(< marco-o>,< marco-d>): cierto si existe una conexión entre < marco-o> y < marco-d> etiquetada con la relación indicada por la función.
15
16
Marcos: herencia
La herencia permite obtener en un marco el valor o los valores de un atributo a través de otro marco con el que esta relacionado.
En el caso de las relaciones taxonómicas (caso más común) la herencia (de atributos y valores) se da por defecto.
En el resto de las relaciones se ha de establecer de manera explícita.
Hay atributos no heredables. Ejemplo:
tiene-por-instancia
Dado un marco es posible que la representación permita heredar un valor a través de múltiples relaciones (herencia múltiple): hay que establecer criterios (ejemplo: camino más corto).
16
17
N-herencia
Prioridad a los facets de los atributos
Consultar el facet valor del atributo en el marco considerado
Si no tiene valor, subir un nivel en la taxonomía i consultar valor
Repetir la operación hasta encontrar valor en algún marco superior o bien llegar a la cabeza de la jerarquía
En este último caso, volver al marco considerado y considerar valor-por-defecto del atributo y repetir la búsqueda hacia arriba
Si tampoco hay éxito, consultar función-para-calcular-valor del atributo
17
V
VPD
FCV
jerarquía de marcos
18
Z-herencia
Prioridad a los marcos más cercanos
Consultar el facet valor del atributo en el marco considerado
Si no tiene valor, consultar valor-por-defecto
Si tampoco tiene, consultar función-para-calcular-valor
Agotadas las posibilidades del marco considerado, se sube en la jerarquía y se hace lo mismo con el marco padre
18
abuelo
padre
V
VPD
FCV
marco
19
Herencia simple y múltiple
La herencia es simple si las relaciones son taxonómicas en forma de árbol.
La herencia es múltiple si:
la taxonomía es un grafo (dirigido acíclico)
hay otras relaciones (no taxonómicas) que permiten herencia
¡Puede haber conflicto de valores!
(obviamente, sólo si hay herencia de atributo y valor)
19
20
Marcos: herencia múltiple
¿Gertrudis vuela?
Si considero el camino más corto: no.
Pero, ¿si Gallina está sub-clasificado?
El algoritmo de distancia inferencial permite establecer cual es el marco del que se ha de heredar.
20
21
Herencia: distancia inferencial
Buscar el conjunto de marcos que permiten heredar el valor del atributo ? Candidatos
Eliminar de la lista Candidatos todo marco que sea padre de otro de la lista
Si el nuevo número de candidatos es:
0 ? No se puede heredar el atributo
1 ? Ese es el valor que se hereda
N > 1 ? Problema de herencia múltiple si la cardinalidad del atributo no es N
21
Mapas conceptuales (MCs)
Los MCs son una forma de representación del conocimiento concebida en el contexto de las ciencias pedagógicas a finales de la década del 70.
Fueron propuestos por Novak et al., y definidos como una técnica que representa, simultáneamente, una estrategia de aprendizaje, un método para captar lo más significativo de un tema y un recurso esquemático para representar un conjunto de significados conceptuales incluidos en una estructura de proposiciones.
22
Mapas conceptuales (MCs)
Están compuestos por:
nodos asociados a conceptos
relacionados mediante enlaces etiquetados por una palabra-enlace, definiendo el tipos de relación que se establece entre ellos
proposiciones formadas por dos o más nodos-conceptos relacionados por una palabra-enlace.
23
Mapas conceptuales (MCs)
Los elementos de un MC son distribuidos gráficamente y siempre está presente un nodo-concepto como el más inclusivo (concepto-principal).
Los MC son un tipo de red semántica más flexible y orientada a ser usada e interpretada por personas.
24
Mapas conceptuales: ejemplo
25
26
Ontologías
Una ontología en IA se define como una:
formal explicit representation of a shared understanding of the important concepts in some domain of interest
En filosofía el término ontología se refiere a un concepto más delicado, aunque relacionado:
the study of being as such
26
27
Formalidad
Las ontologías son (deberían ser) formales: tienen que ser leíbles por los ordenadores.
Nivel de formalidad:
de altamente informal: lenguaje natural
a rigurosamente formal: términos con semántica formal y axiomas
En las ontologías maduras, las descripciones permitidas son sólo las consistentes con un conjunto de axiomas, que determinan su uso.
27
28
Especificación explícita
Los tipos de los conceptos y las restricciones sobre su uso están (deberían estar) definidos explícitamente.
Accesibilidad y transparencia:
documentación de los detalles técnicos
28
29
Comprensión compartida del conocimiento
Las ontologías contienen (deberían contener) conocimiento consensual, aceptado por un grupo de personas lo más amplio posible.
29
30
Conceptualización
Las ontologías son un modelo abstracto de algún dominio de algún mundo posible.
Compromiso común: hacer el mínimo número de afirmaciones posible (sólo las necesarias) sobre el dominio que se está modelando, dejando a los reutilizadores de la ontología la libertad de especializarla e instanciarla tanto como haga falta.
30
¿Por qué son útiles las ontologías?
Modelado y uso compartido del conocimiento:
comunicación entre personas/agentes con diferentes necesidades y puntos de vistas debidos a contextos diferentes
marco unificado dentro de una organización para reducir la confusión conceptual y terminológica
interoperabilidad entre sistemas a través de traducciones entre diferentes paradigmas, lenguajes, herramientas informáticas y métodos de modelado
ontologías como ínter-lengua
integración de ontologías
31
32
¿Por qué son útiles las ontologías?
Ingeniería de sistemas:
re-usabilidad
Ontologías altamente configurables y bibliotecas de ontologías facilitan la re-usabilidad entre diferentes sistemas de software.
fiabilidad
Las ontologías formales permiten la comprobación de consistencia, dando lugar a sistemas más fiables.
32
33
Ontologías: ejemplo
Conceptos, organizados en taxonomías, enlazados por relaciones, en acuerdo con los axiomas.
Axiomas, posiblemente muy generales, p.e.: Árbol no es Árbol de navidad.
33
34
Ingenieros de ontologías
Los ingenieros del conocimiento construyen ontologías basadas en conocimiento consensual sobre un dominio.
Permiten a un grupo de agentes determinado (usuarios de la ontología) compartir y reutilizar ese conocimiento dentro del área de trabajo seleccionada (el dominio).
34
35
Metodologías
Existen y están disponibles varias metodologías para la construcción de ontologías:
Mike Uschold
Michael Grüninger
Asunción Gómez-Pérez
John Sowa
35
36
Implementación
Uschold: directamente en lenguajes específicos para ontologías (por ejemplo, Ontolingua, LOOM, KIF)
Gómez-Pérez: a nivel de conocimiento del dominio, a través de un shell que traduce a Ontolingua
Protégé: entorno visual con entrada y salida en OWL
36
37
Amplia gama de aplicaciones
Gestión del conocimiento
Generación de lenguaje natural
Modelado de los procesos de empresa
SBCs
Navegadores de Internet
Interoperabilidad entre sistemas
Ingeniería de sistemas: especificación, fiabilidad, reutilización
37
38
Ejemplo: ontología para gestión de aguas residuales
Metodología utilizada
Determinación de los requerimientos:
Utilidad (¿necesidad?)
Finalidad
Adquisición del conocimiento
Conceptualización
Lista preliminar de términos principales
Entorno de desarrollo
Reutilización de otras ontologías
Formalización
38
39
Situación inicial
Presencia de expertos en varios dominios:
IA
Ingeniería química
Microbiología
Informática
Uso de diferentes vocabularios
No siempre hay una terminología común.
No hay reglas sobre cómo usar los términos, ni los sinónimos.
39
40
Objetivos de la ontología
Obtener una terminología unificada (pero multilingüe), completa y coherente del dominio de las aguas residuales
Ayudar en la diagnosis de situaciones problemáticas relacionadas con aguas residuales
Ayudar en la gestión de plantas de tratamiento de aguas residuales
40
41
Adquisición del conocimiento
Reutilización de conocimiento existente codificado de manera específica para el dominio en cuestión
Entrevistas con expertos
Análisis de textos
41
42
Conceptualización
Criteria followed:
easily understandable model
reflection of expert knowledge
easily extendable knowledge
easily integration with other existing ontologies
possibility to choose a subset of the knowledge and to use it in other ontologies or applications
42
43
Términos y jerarquía
Actuator
Body-Of-Water
Descriptor
Descriptor-Off-Line
Descriptor-Qualitative
Appearance-Floc
Appearance-Surface-Clarifier
Descriptor-Quantitative
BOD
Chlorine Cod
Descriptor-On-Line
Water-Flow
43
44
Entorno de desarrollo
Term hierarchy: Ontolingua because it was a quasi-standard
Axioms: first in Lisp, then in KIF (associated to Ontolingua)
Alternative: Protégé + OWL
44
45
Representaciones
Classification tree of concepts: a taxonomy of concepts
Glossary of terms: including concepts, individuals, attributes and axioms
Various representations are predefined and available in the Ontolingua Ontology Server
45
46
Reutilización
The ontology is mainly built from scratch.
Two other ontology are partially reused:
Frame ontology: its Ontolingua meta-ontology
Cyc ontology (Lenat and Guha, 1990): manual encoding of millions of encyclopedic facts (Ontolingua version)
46
47
Re-engineering
Frame-ontology: as is
Cyc: little re-engineering to adapt the concepts to the specific domain
No ontology integration (and consistency checking) needed.
47
Arquitectura de la información
Frame-ontology
Cyc-ontology (Ontolingua version)
Wastewater-ontology
49
Términos: detalles
The ontology use the English language to describe the world at the highest level.
Nevertheless the documentation of each term contains the translation of the term name to Spanish, Catalan and Italian.
49
(Gp:) Documentation: Class Descriptor-Qualitative
Synonyms:
Dato cualitativo (esp)
Dada qualitativa (cat)
Dato qualitativo (ita)
Qualitative descriptors refer to microscopic observations (e.g.: activated-sludge microbes presence and diversity) and visual information (e.g.: presence of foam in the aeration tank or in the secondary clarifier, water odor, biomass color).
50
Formalización
The Ontolingua Ontology Server automatically translates to Lisp.
The translation has been checked and evaluated.
50
51
Conclusiones
Success in unifying terminology and as a way of communication between AI researchers and chemical engineers.
Evaluation as a tool of support to diagnosis.
51
Página anterior | Volver al principio del trabajo | Página siguiente |